package cn.wolfcode.trip.base.mapper;

import cn.wolfcode.trip.base.domain.Message;
import cn.wolfcode.trip.base.query.MessageQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface MessageMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Message record);

    Message selectByPrimaryKey(Long id);

    List<Message> selectAll();

    int updateByPrimaryKey(Message record);

    List<Map> selectForList(MessageQuery qo);

    /**
     * 查询所有未读消息
     * @param qo:查询对象
     * @return 一个map的列表
     */
    List<Map> selectForUnread(MessageQuery qo);

    void updateMessageRead(MessageQuery qo);

    /**
     * 获取未读消息
     * @param qo: 查询对象
     * @return
     */
    Integer getUnReadMessageNums(MessageQuery qo);

    Integer getUserUnReadMessageNums(MessageQuery qo);

    List<Map> selectForChatRoom(@Param("groupId") Long groupId);
}